package org.springframework.beans.factory.config;

/**
 * @Name SingletonBeanRegistry
 * @Description: 单例 Bean 实例容器接口
 * 描述信息：定义获取单例 Bean 实例的方法。
 * @Version v1.0.0
 * @Author: lichao
 * @Date: 2024-03-14 14:38:38
 **/
public interface SingletonBeanRegistry {

    /**
     * 添加单例 Bean 实例
     *
     * @param beanName        Bean 实例名称
     * @param singletonObject Bean 实例
     * @version v1.0.0
     * @author lichao
     * @date 2024-03-14 14:42:49
     */
    void addSingleton(String beanName, Object singletonObject);

    /**
     * 获取单例 Bean 实例
     *
     * @param beanName Bean 实例名称
     * @return java.lang.Object Bean 实例
     * @version v1.0.0
     * @author lichao
     * @date 2024-03-14 14:39:39
     */
    Object getSingleton(String beanName);

    /**
     * 销毁所有的单例 Bean
     *
     * @version v1.0.0
     * @author lichao
     * @date 2024-03-20 15:53:32
     */
    void destroySingletons();

}
